/* 
 * Copyright 2009 HIT-CIR (HIT Center for Information Retrieval). 
 * 
 * author: chuter
 * mail:   lliu@ir.hit.edu.cn
 */
package edu.hit.irlab.coref.resolve;

import edu.hit.irlab.coref.PairInstance;


/**
 * The interface of the resolver for <i>Corference Resolution</i> <br>
 * You can use any algorithm to get the <i>corference probability</i> 
 * of the <i>Instance</i>, i.e. any binary classify algorithm like 
 * <i>ME</i>, <i>Decision Tree</i>, <i>SVM</i> etc., and also can
 * be any algorithms based on <i>rules</i>
 * 
 * @author chuter
 * @since Corference Resolution Platform
 * @see edu.hit.irlab.mentionfinder.Mention
 */
public interface Resolver {
		
	/**
	 * The entry of the resolver, it returns the
	 * corference probability of the 
	 * {@link edu.hit.irlab.coref.PairInstance Instance}
	 */
	public double score(PairInstance ins); 
	
	/**
	 * Check whether this <i>Resolver</i> can deal the 
	 * <i>Instance</i>
	 */
	public boolean canResolve(PairInstance ins);
	
}